/**
 * Modern CSS Reset Tweaks
 * ================================================== */
html {
    -webkit-text-size-adjust: 100%;

    &:focus-within {
        scroll-behavior: smooth;
    }
}

body {
    text-size-adjust: 100%;
    position: relative;

    width: 100%;
    min-height: 100vh;

    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
}


/* Box sizing normalization */
*,
::after,
::before {
    box-sizing: border-box;
}


/* Elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
}


/**
   * CSS Reset Tweaks
   *
   * http://meyerweb.com/eric/tools/css/reset/
   * v2.0-modified | 20110126
   * License: none (public domain)
   */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

/* make sure to set some focus styles for accessibility */
:focus {
    outline: 0;
}

/* HTML5 display-role reset for older browsers */
main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;

    &:before,
    &:after {
        content: '';
        content: none;
    }
}

/**
   * Input Reset
   */
input:required,
input {
    box-shadow: none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px white inset;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

input {
    &:focus {
        outline: none;
    }
}

/**
   * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
   */
audio,
canvas,
video {
    display: inline-block;
    max-width: 100%;
}

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
   * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
   */
[hidden] {
    display: none;
}

/**
   * Improve readability when focused and also mouse hovered in all browsers.
   */
a:active,
a:hover {
    outline: none;
}

/* Make images easier to work with */
img {
    max-width: 100%;
    display: inline-block;
    vertical-align: middle;
    height: auto;
}

/* Make pictures easier to work with */
picture {
    display: inline-block;
}

/**
   * Address Firefox 3+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
button,
input {
    line-height: normal;
}

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
   * Correct `select` style inheritance in Firefox 4+ and Opera.
   */

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
    border: 0;
    background: transparent;
}

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
    cursor: default;
}

[disabled] {
    pointer-events: none;
}

/**
   * 1. Address box sizing set to content-box in IE 8/9.
   */
input[type="checkbox"],
input[type="radio"] {
    padding: 0;
}

/**
   * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
   *    (include `-moz` to future-proof).
   */
input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

/**
   * Remove inner padding and search cancel button in Safari 5 and Chrome
   * on OS X.
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
   * Remove inner padding and border in Firefox 3+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

button {
    border: 0;
    background: transparent;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

/**
   * Remove most spacing between table cells.
   */
table {
    border-collapse: collapse;
    border-spacing: 0;
    text-indent: 0;
}


/**
   * Based on normalize.css v8.0.1
   * github.com/necolas/normalize.css
   */
hr {
    box-sizing: content-box;
    overflow: visible;
    background: #000;
    border: 0;
    height: 1px;
    line-height: 0;
    margin: 0;
    padding: 0;
    page-break-after: always;
    width: 100%;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   */
pre {
    font-family: monospace, monospace;
    font-size: 100%;
}

/**
   * Remove the gray background on active links in IE 10.
   */
a {
    background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
    border-bottom: none;
    text-decoration: none;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
}

/**
   * Add the correct font size in all browsers.
   */
small {
    font-size: 75%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -5px;
}

sup {
    top: -5px;
}

/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1;
    margin: 0;
    padding: 0;
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
    outline: 0;
}


legend {
    color: inherit;
    white-space: normal;

    display: block;
    border: 0;
    max-width: 100%;
    width: 100%;
}

fieldset {
    min-width: 0;
}

body:not(:-moz-handler-blocked) fieldset {
    display: block;
}


/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
    vertical-align: baseline;
}


/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}


/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
     ========================================================================== */

/*
   * Add the correct display in all browsers.
   */
summary {
    display: list-item;
}

/*
   * Misc
   * ========================================================================== */

template {
    display: none;
}